1. Field of the Invention
The present invention relates to a virtual space communication system allowing computer users to communicate with each other, in a virtual space constructed in a system configured of plural computers connected through a network. More particularly, it relates to a virtual space communication system using graphical objects (for example, called as abutters) behaving according to manipulation by a user in a virtual space shared by plural computers for realizing communication between computer users through the objects.
The invention also relates to a three-dimensional image display method and a three-dimensional image display apparatus of such virtual space, and to so-called computer graphics, and more particularly to computer graphics handling a three-dimensional space.
2. Description of the Related Art
The so-called virtual space communication system has been proposed for allowing computer users to communicate with each other in a virtual space configured in a system configured by plural computers connected through a network. A configuration of a conventional system is, for example, as shown in FIG. 1.
In FIG. 1, a host computer 100 and plural client computers 10 are connected through a network NW. Secondary storages (magnetic disk device, CD-ROM device, etc.) 101 and 20 are connected to the host computer 100 and each client computer 10 respectively, and computer graphics (hereinafter, to b called as CG) data expressing a virtual space (configured by plural objects) is stored in each secondary storage 101 and 20. The host computer 100 is responsible for the following processings necessary for communication between the client computers 10 as well as the management processing of CG data.
In each client computer 10 sharing the virtual space area, the image of the same virtual space is displayed on the basis of the CG data being read out from the secondary storage 20 connected to each. Corresponding to each client computer 10, for example, graphical objects called abutters exist in the virtual space. The abutters behave (act, chat, etc.) in the virtual space according to the manipulation by the user in the client computer 10. The manipulation information (corresponding to the behavior of abutters) having been inputted into one client computer 10 is sent to the host computer 100 through the network NW. The host computer 100 transfers this manipulation information to the other client computers 10 sharing the same virtual space together with the client computer 10 that has transmitted the manipulation information through the network NW. In the other client computers 10 receiving the manipulation information through the network NW, the corresponding abutters behave similarly in the virtual space according to the manipulation information. As a result, among users of the client computers 10 sharing the virtual space, communications can be realized through the behavior (action, chat, etc.) of abutters in the virtual space.
In such virtual space communication system, the host computer and individual client computers share common CG data, and therefore transmission of CG data among computers through the network is not necessary, and the transmission quantity among computers is reduced.
In such conventional virtual space communication system, however, since the host computer is responsible for processings about communications among client computers as well as management processing of CG data, when the number of client computers sharing the virtual space increases or the quantity of CG data to be managed increases, the load is concentrated on the host computer, and processings in the host computer may be difficult.
Or, every time the shared virtual space is extended or switched in each client computer, the recording medium storing the CG data of the extended or switched virtual space such as floppy disk, CD-ROM or the like must be distributed to the users of each client computer by off-line means (mail, hand to hand, etc.). It is hence not flexible enough to extension and switching of virtual space, and the CG data of the virtual space in client computers of each user may differ.
Recently, the CG is used in all fields, and in particular along with the progress of so-called multimedia, it has been stepwisely attempted to apply the CG in communication with remote places through such communication network. For example, data of a three-dimensional solid model is stored in a server installed in a certain place, and the data of the solid model is loaded in a client terminal at a remote place through, for example, the Internet, and is displayed, so that the communication call be realized.
In the system on which the invention is based, first, plural three-dimensional spaces to be drawn are prepared, and in one space of them, the viewpoint can be moved freely, that is, so called "walk-through" is enabled.
For example, as shown in a schematic diagram in FIG. 2, a certain indoor space (first space SP1) is composed of a set of several solid models OB, and an another indoor space (second space SP2) adjacent to this room is composed of a set of other several solid models OB, and the both spaces SP1, SP2 are mutually connected through an entrance E as a connection point.
Suppose the viewpoint VP moves from the first space SP1 to the second space SP2 through the entrance E by "walk-through," it gives rise to necessity of reading the data of the second space SP2 at the moving destination out of the database, and displaying on the screen. In a case where, however, the data of the solid model of the second space SP2 to be read out is huge in quantity and the communication capacity between the database and the display terminal is small, it causes a long waiting time for switching the screen due to the move from the first space SP1 to the second space SP2. In other words, the waiting time is long from the display of the first space SP1 to the display of the second space SP2.
A block diagram in FIG. 3 shows a structural example of a conventional system for such three-dimensional space display. Hereinafter, the prior art is described in detail below by referring to FIG. 3.
In FIG. 3, reference numeral 51 denotes a three-dimensional database (hereinafter called 3D database), in which data of solid matter (hereinafter called objects) for constructing the three-dimensional space is stored. However, as shown in the schematic diagram in FIG. 2, when the three-dimensional space is divided into plural sections (divided into two sections, first space SP1 and second space SP2, in the example in FIG. 2), the data of objects in each space SP1, SP2 is managed as one data group.
Reference numeral 52 is a reader for reading out the data relating to the space in which the viewpoint is located at the present, from the 3D database 51. The data being read out from the 3D database 51 by this reader 52 is given to a 3D drawing unit 53.
In the 3D drawing unit 53, on the basis of the data being read out by the reader 52, and according to the viewpoint information given from a viewpoint information set unit 54, that is, the information showing which orientation is seen from which position, geometrical calculation, color calculation and others are executed on each object, and the results are written in a 3D frame buffer 55.
By repeating such operation to draw individual objects, three-dimensional images of objects are sequentially drawn on the 3D frame buffer 55, and soon one three-dimensional image is completed and displayed on a monitor 56.
Using such conventional system, the case of moving between plural three-dimensional spaces (hereinafter called 3D spaces) as shown in FIG. 2 is discussed. Suppose several solid models, that is, objects OB are arranged in each 3D space (first space SP1 and second space SP2 in the example in FIG. 2). For example, the current viewpoint VP is located in the first space SP1, and it is supposed that walk-through is attempted in a certain orientation along a path P.
When the viewpoint VP moves from the first space SP1 to the other second space SP2, the space is switched and the three-dimensional image displayed in the monitor 56 is also switched, and at this time it is necessary to read out the information of the second space SP2 in which the viewpoint VP is to be located next from the 3D database 51 anew, and drawing the image in the 3D frame buffer 55. Generally, the data quantity of a set of solid models is very large, and it takes a very long time to read into the 3D frame buffer 55. In the actual world, it is possible to move the viewpoint VP smoothly from one room to other room, that is, from the first space SP1 to the second space SP2, but in the three-dimensional image display technique using the conventional system as described above, the viewpoint cannot be moved smoothly in the boundary of one room and other (for example, the door), and a waiting time occurs.
In the system on which the invention is based, secondly, there are plural objects for constructing one three-dimensional space.
Supposing the number of objects for constructing one three-dimensional space to be N, in the conventional technique, data of N number of objects is stored in the 3D database 51, and the reader 52 reads it out sequentially in the unit of each object, and the 3D drawing unit 53 operates geometrical calculation and color calculation on each object according to the viewpoint information given from the viewpoint information set unit 54, and writes the result in the 3D frame buffer 55, and by repeating such operation, one picture is completed.
Conventionally, therefore, as the object data were sequentially written into the 3D frame buffer 55, individual objects were sequentially displayed in the monitor 56, or after all object data were written in the 3D frame buffer 55, all objects were displayed together in the monitor 56.
In the former case, the user viewing the monitor 56 did not know how long he or she must wait because there was no information about the waiting time until one picture is completed or about how far the drawing is advanced at the moment, and was hence forced to wait while twirling his or her thumbs.
In the latter case, until the drawing is completed in the 3D frame buffer 55, the screen display on the monitor 56 is swept, or the former displaying state is kept in still image, and hence the same problem occurs.
Generally, the data quantity of the three-dimensional solid model becomes larger when the shape is complicated, and therefore when the communication capacity between the database system (server) storing the solid model data and the display terminal (client) is small, as the communication time is extended, it takes an extremely long time for moving from the space being drawn to other space. Hence, the problems to be solved are how to shorten the moving wait time and how to make the user feel the waiting time short.
In the invention, it is possible to "walk through" plural three-dimensional spaces, and when the viewpoint enters a certain space for the first time, the data of solid mode in the space is loaded from the database. Therefore, the problems to be solved are to how to make the user feel the waiting time short when switching the display, and how to inform the user of the information about the screen to be displayed next promptly.